Skip to content

Conversation

@Gal-Zaidman
Copy link
Contributor

Currently, the assisted installer supports Bare-Metal installations only.
Openshift can be installed on various providers such as:

  • Red Hat Virtualization.
  • OpenStack.
  • VSphere.
  • AWS.
  • GCP.
  • Azure.

This enhancement will define a clear interface to extend the assisted installer and allow
provider installations.

@app-sre-bot
Copy link

Can one of the admins verify this patch?

@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 25, 2021
@openshift-ci openshift-ci bot requested review from djzager and machacekondra July 25, 2021 14:10
@openshift-ci openshift-ci bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Jul 25, 2021
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Implement a function which determines which provider should be used.
Implement a function which determines which providers can be used.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Regarding the can/should I think that can be the provider's decision on how to implement, but it is an interesting question to ask.
If there is a use case in which the user will provision the Nodes on a certain provider but want to disable provider integration? I'll add that to the open questions

Copy link
Contributor

@avishayt avishayt Aug 2, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure. We see that today. Maybe they don't have platform credentials, don't want to provide us with the credentials, or they are doing some custom integrations.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The generation of the infraID is random but it can be known as in AWS UPI: https://github.com/openshift/installer/blob/master/docs/user/aws/install_upi.md#extract-infrastructure-name-from-ignition-metadata

Extracting the infra id would be preferred if it satisfies the needs. If it does not, let's discuss why.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the assisted installer the machines are provisioned before the ignition-configs or manifests are generated.
If we will go with this approach we will need to make manual modifications to the User Provisioned Nodes

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How does it work with UPI?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or we can chagne to the ignition config rendered by the installer 😉

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@eranco74 it also affects the manifests a lot.
@avishayt On current RHV UPI we don't enable provider integration, we have a separate effort to document this as well, but essentially since the manifests and ignition can be created before there are any Nodes there is no problem with extracting the infraID and then creating the VMs with that infraID in the name

@Gal-Zaidman Gal-Zaidman force-pushed the add-external-providers-enhancement branch from f4007e3 to 2e8f82d Compare July 25, 2021 16:04
Copy link
Member

@mhrivnak mhrivnak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for getting this started.

Am I understanding your intent correctly that this does not propose any changes to how a discovery image gets booted on a host, but only affects how a cluster definition represents platform integration and how that integration is implemented? I think it's important to clarify that scope prominently in the proposal.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be an improvement to rephrase this as an outcome rather than a solution. The goal is to enable additional platforms in some way, so that a user can create a cluster with platform integration. What you're describing here is solution details that would be better in the Proposal section.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK I agree, moved to the proposal part and replaced with:

  • Define a clear way to add a specific platform provider to the assisted installer.
  • Add the oVirt platform provider to the assisted installer.
  • Migrate all existing supported providers to implement the same unified interface.

Is that better?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this (multiple platforms in a single cluster) something the openshift installer support?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or we can chagne to the ignition config rendered by the installer 😉

Copy link
Contributor

@flaper87 flaper87 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sending these comments for now. Will review again later. :)

@Gal-Zaidman
Copy link
Contributor Author

Updated some comments,
Updates are on a separate commit so it will be easier to review, will squash all commits once the enhancement is ready

@openshift-ci
Copy link

openshift-ci bot commented Aug 22, 2021

@Gal-Zaidman: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-metal-assisted-multi-version c98049623f6df21f2bbcff66aeaabc557ab449e3 link /test e2e-metal-assisted-multi-version

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@Gal-Zaidman
Copy link
Contributor Author

@YuviGold @mhrivnak
Modified the enhancement to focus on adding the provider interface and not the oVirt provider addition.
As we said in the comments and meet the addition of any provider is the result of this enhancement and not the main focus of it.

I added all the changes in a separate commit so it will be easier to review

@Gal-Zaidman Gal-Zaidman changed the title WIP: enhancement proposal: "Add Providers Support" Enhancement proposal: "Add Providers Support" Sep 2, 2021
@openshift-ci openshift-ci bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Sep 2, 2021
@Gal-Zaidman Gal-Zaidman force-pushed the add-external-providers-enhancement branch from 31b6701 to 3227b67 Compare October 6, 2021 10:24
@Gal-Zaidman Gal-Zaidman force-pushed the add-external-providers-enhancement branch from 3227b67 to cdf69a9 Compare October 6, 2021 10:29
@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Oct 6, 2021
@openshift-ci
Copy link

openshift-ci bot commented Oct 6, 2021

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: Gal-Zaidman, YuviGold

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 6, 2021
@YuviGold
Copy link
Contributor

YuviGold commented Oct 7, 2021

/ok-to-test

@openshift-ci openshift-ci bot added the ok-to-test Indicates a non-member PR verified by an org member that is safe to test. label Oct 7, 2021
@openshift-merge-robot openshift-merge-robot merged commit 697ba62 into openshift:master Oct 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.